Data-capable network prioritization with reject code handling

ABSTRACT

Reject code handling is utilized for a more time-efficient selection of data-capable networks. One illustrative method for use in selecting a wireless communication network for communications involves the steps of causing a request for data connectivity to be transmitted through a first wireless network; reattempting the request for data connectivity through the first wireless network one or more times if a reject code comprising a non-critical error is received in response to the request for data connectivity through the first wireless network; and attempting to select a second wireless network for communications without reattempting the request for data connectivity through the first wireless network one or more times if a reject code comprising a critical error is received in response to the request for data connectivity through the first wireless network.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority to U.S. Provisional PatentApplication Ser. No. 60/519,150 having a filing date of 12 Nov. 2003 andentitled “Data-Capable Network Prioritization With Reject CodeHandling”, which is hereby incorporated by refeferece herein.

BACKGROUND

1. Field of the Technology

The present application relates generally to mobile stations and networkselection methods employed thereby.

2. Description of the Related Art

A mobile communication device, such as a cellular mobile station, may becapable of making and receiving telephone calls and/or sending andreceiving data over a wireless communication network. Before it is ableto do this, the mobile station selects and registers with one of aplurality of communication networks which are available within itsgeographic coverage area. After registering with the selected network,the mobile station operates in an idle mode where it “camps-on” aparticular wireless communication channel of the network to monitor forcalls or messages. “Network selection” is the particular processperformed by the mobile station for selecting the one communicationnetwork through which to register and operate.

Cellular telephony operation and network selection schemes aredocumented in standards specifications that govern the behavior ofcellular mobile stations and associated systems. One well-known cellularstandard is the Global System for Mobile Communications (GSM) standard.GSM 03.22/European Technical Standards Institute (ETSI) TechnicalSpecification (TS) 100 930, Technical Specification (TS) 23.122 from the3^(rd) Generation Partnership Project (3GPP), and other relatedstandards documents describe the many details of cellular operation andnetwork selection. These documents describe how a mobile station behavesas it moves and roams between various regions and countries to maintaincoverage with networks (referred to as Public Land Mobile Networks orPLMNs), primarily for the purpose of providing continuous telephoneservice.

Traditionally, a mobile station performs network selection by initiallyscanning to identify all available communication networks within itssurrounding coverage area. Each network is identified by a unique MobileCountry Code (MCC) and Mobile Network Code (MNC) pair. If the HomePublic Land Mobile Network (HPLMN) or “home network” of the mobilestation is available, the mobile station will ordinarily select andoperate with the home network. If the HPLMN is unavailable, the mobilestation will ordinarily select and operate with the communicationnetwork having; the highest priority in a preferred network list storedin memory of the mobile station. There may be several preferred networklists, commonly referred to as Preferred PLMN lists (PPLMN lists),stored on a Subscriber Identity Module (SIM) card of the mobile station.For example, the PPLMN lists may include a user-controlled PPLMN(U-PPLMN) list and an operator-controlled PPLMN (O-PPLMN) list.

The above-described network selection method is commonly referred to asan “automatic” network selection method. As an alternative to thisautomatic selection method, an end-user of the mobile station may beprovided with the ability to manually select from a plurality of listedavailable networks which are visibly displayed on the mobile device.This conventional network selection method may be referred to as a“manual” network selection method.

Mobile data communication devices which are known to facilitate servicessuch as wireless e-mail, Internet access, as well as voice telephony,are becoming more and more popular. In addition to operating inaccordance with GSM for voice telephony, these mobile stations mayoperate in accordance with General Packet Radio Service (GPRS). GPRS isa packet-based communication protocol for mobile stations that allowsdata packets to be sent and received through a wireless communicationnetwork. In order to receive data services through a GPRS-capablenetwork, the mobile station first performs a “GPRS attach” and providesits identification code and availability to the wireless network. ForGSM/GPRS, this code could include both the International MobileSubscriber Identity (IMSI) or Packet Temporary Mobile SubscriberIdentity (PTMSI), which identify a communication network account orsubscription, and a Mobile Station ISDN/PSTN Number MSISDN, whichidentifies the mobile station user or subscriber. After attaching to thenetwork, the mobile station will attempt to establish a “Packet DataProtocol (PDP) context”. The PDP context targets an access point name(APN) and home service of the mobile station. The PDP context alsoallocates an IP address for the mobile station so that IP packets can becommunicated.

In order to operate fully as intended, these “data-capable” mobilestations must have the appropriate communication services supported andmade available by the communication network that it is registered with.Ideally, all communication networks around the world should be connectedthrough roaming agreements, and support and make available all thedifferent types of communication services that a mobile station iscapable of providing. In practice, however, some communication networksdo not have or cannot make a particular communication service (e.g. adata communication service) available to a mobile station. This problemmay be partially mitigated in a given coverage area, as there may beseveral communication networks from which the mobile station may select.

Traditional network selection techniques for GSM services, however, donot take into consideration the availability of other services (e.g.data communication services) in its decision-making process. That is,traditional network selection techniques are voice-service-centric. As aresult, an inadequate communication network may be selected by suchmobile stations. For example, a mobile station may select acommunication network that can provide an acceptable voice service butnot a data service, even though another adequate and available networkcould provide both the voice and the data service. Such traditionaloperation is undesirable, especially for mobile stations that areprimarily intended to provide the end-user with a data communicationservice (e.g. portable e-mail devices). In particular, aGPRS/GSM-capable network is more preferably for these mobile stationsthan are GSM-only networks.

A better and non-traditional network selection technique for thesemobile stations would involve prioritizing the selection of data-capablecommunication networks (e.g. GPRS) over voice-only networks (e.g. GSM).In such a procedure, the mobile station may have to determine whether ornot the data service is actually made available by the communicationnetwork. More particularly, the mobile station makes a request for adata service which may be accepted or denied by the network. When dataservice is denied, the mobile station receives different “reject causecodes” from the network which are associated with different reasons forservice denial. Depending on the reject code, the mobile station mayhave to wait until it may request the data service again, a timerexpires, the network changes, or the user cycles the power (off & on) ofthe mobile device. If the end user is not viewing the display of themobile station (e.g. the mobile station is carried in a holster), theuser will not be aware of the data service unavailability and may notreceive important push data in a timely fashion (e.g. pushed e-mailmessages).

In a related problem, if the GPRS attach or a Routing Area Update (RAU)attempt is not successful with the network (e.g. no network response, orthe receipt of a rejection code), the mobile station consecutivelyreattempts for up to five (5) times. If the GPRS attach or RAU attemptcounter is greater than or equal to five, the mobile station must placeitself into a “GPRS Deregistered” state and start a timer designated as“timer 3302”. Timer 3302 is set to a value taken from GSM timer 3212,which is a periodic location update timer. See e.g. 3GPP specification4.08 Release 1997. From 3GPP specification 24.08 Release 1999, thedefault value of T3302 is 12 minutes if one is not provided by thenetwork. Thus, the mobile station ordinarily receives the value fortimer 3212 over-the-air by the network or, if one is not provided by thenetwork, utilizes a default value. If provided over-the-air by thenetwork, the timer may be set to up to four (4) hours. The mobilestation is not able to attempt for GPRS services again until this timer3302 expires. As apparent, this may cause substantial data delays (e.g.delays in receiving “pushed” e-mail messages).

Accordingly, there is a resulting need for network selection methods andapparatus that overcome the deficiencies of the prior art.

SUMMARY

The present application describes methods and apparatus for selecting acommunication network to provide one or more communication services' fora mobile station. In general, a scanning operation is performed by themobile station to identify one or more communication networks whichsupport a voice communication service in a geographic coverage area. Themobile station identifies which of the identified communication networksmake a data communication service available for the mobile station. Themobile station then selects and registers with a communication networkthat makes the voice and data communication service available over anetwork that fails to make the service available. Preferably, the methodis performed in connection with the creation of one or more prioritizednetwork lists. In this case, the mobile station assigns a higherpriority in the prioritized network list to a communication network thatmakes the voice and data communication service available to it over acommunication network that does not. In any event, however, the homenetwork is maintained as the highest priority network for communicationwith the mobile station.

In accordance with the present application, reject code handling isutilized for a more time-efficient selection of data-capable networks.One illustrative method includes the steps of causing a request for dataconnectivity to be transmitted through a first wireless network;reattempting the request for data connectivity through the firstwireless network one or more times if a reject code comprising anon-critical error is received in response to the request for dataconnectivity through the first wireless network; and attempting toselect a second wireless network for communications without reattemptingthe request for data connectivity through the first wireless network oneor more times if a reject code comprising a critical error is receivedin response to the request for data connectivity through the firstwireless network. A critical error is deemed one in which a permanentproblem or fault exists with the network or service subscriptionassociated with the end user; a non-critical error is not critical butrather is one in which there is a problem or fault with the network orservice subscription that may be passing or temporary.

An indication may be made in memory of the mobile station of whether thewireless network currently makes voice and data connectivity availableand allowable to the mobile station. The indication for the wirelessnetwork may be indicative of “currently available data connectivity” ifthe request for data connectivity is accepted by the wireless network,or indicative of “currently unavailable data connectivity” if the rejectcode comprising the critical error is received or if the one or morerequests for data connectivity through the wireless network arereattempted without success. Similar results may be achieved through useof a list of currently unavailable data connectivity networks stored inmemory. Such a list includes the wireless network if the reject codecomprising the critical error is received or if the one or more requestsfor data connectivity through the wireless network are reattemptedwithout success; however the list fails to include the wireless networkif the request for data connectivity is accepted by it.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a global network interconnection;

FIG. 2 is a block diagram of a mobile communication device which is acellular mobile station;

FIG. 3 is a block diagram showing two GSM/GPRS networks and a mobilestation roaming between them;

FIG. 4 is a block diagram illustrating a mobile station in a regionwhere there are several communication networks of different types;

FIGS. 5, 6, and 7 form a flowchart for automatic network selectionaccording to the present application; and

FIGS. 8, 9, and 10 form a flowchart for manual network selectionaccording to the present application.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Methods and apparatus for performing network selection by a mobilecommunication device are described herein. In situations where more thanone wireless network is available in a given coverage area, a method ofselecting or assigning priority to a wireless network that provides adata service (or the “best” services) over ones that do not is utilized.Such methods are applicable to mobile devices that operate in accordancewith any suitable communication standard, but are particularlyapplicable to advanced General Packet Radio Service (GPRS) capablemobile stations. In this environment, the method may place a priority onselecting a GPRS-capable network over a Global System for MobileCommunications (GSM) only capable network.

In particular, reject code handling is utilized for a time-efficientselection of data-capable networks. One illustrative technique of thepresent application includes the steps of causing a request for dataconnectivity to be transmitted through a first wireless network;reattempting the request for data connectivity through the firstwireless network one or more times if a reject code comprising anon-critical error is received in response to the request for dataconnectivity through the first wireless network; and attempting toselect a second wireless network for communications without reattemptingthe request for data connectivity through the first wireless network oneor more times if a reject code comprising a critical error is receivedin response to the request for data connectivity through the firstwireless network. A critical error is deemed one in which a permanentproblem or fault exists with the network or service subscriptionassociated with the end user; a non-critical error is not critical butrather is one in which there is a problem or fault with the network orservice subscription that may be passing or temporary. Conventionally,the time period between the first attempt for data connectivity throughthe first wireless network (including all reattempts) and the firstattempt for data connectivity through the second wireless network may bebetween about 25 minutes and 4 hours. As apparent, the inventivetechniques reduce this time period to provide for a more time-efficientselection of a data-capable network.

Further, an indication is made in memory of the mobile station ofwhether the wireless network currently makes voice and data connectivityavailable to the mobile station. The indication for the wireless networkmay be indicative of “currently available data connectivity” if therequest for data connectivity is accepted by the wireless network, orindicative of “currently unavailable data connectivity” if the rejectcode comprising the critical error is received or if the one or morerequests for data connectivity through the wireless network arereattempted without success. Similar results may be achieved through useof a list of currently unavailable data connectivity networks stored inmemory. Such a list includes the wireless network if the reject codecomprising the critical error is received or if the one or more requestsfor data connectivity through the wireless network are reattemptedwithout success; however the list fails to include the wireless networkif the request for data connectivity is accepted by it.

With reference now to FIG. 1, an overview of how networks connect aroundthe world are described. GSM and GPRS networks are shown as examplewireless communication networks. The voice network known as GSM is theolder component and has been available since about 1992 while GPRS, adata component that has been combined or overlaid with GSM, has beenavailable only since about 1999. These two networks are now commonthroughout the world and have some of the fastest deployment rates ofany voice and data networks. Such combined voice and data networks alsoinclude modern Code Division Multiple Access (CDMA) networks andthird-generation (3G) networks like Enhanced Data-rates for GlobalEvolution (EDGE) and Universal Mobile Telecommunications Systems (UMTS),currently under development.

In FIG. 1, there are five GSM only networks 10, 14, 16, 22, 26 and eightGSM/GPRS combined networks 2, 4, 8, 12, 18, 20, 24, 28, shown in variousparts of the world. At any point in time, a given country might have oneor more GSM and/or GSM/GPRS networks. Each network operator makesfinancial and practical decisions as to when it should purchase andimplement GPRS functionality onto an existing GSM network. Therefore, auser of a GSM phone or a GPRS capable mobile station might enter a givencountry and be faced with networks that support either GSM only orcombined GSM/GPRS.

These networks implement interconnections to each other to supportroaming between countries and to support billing and roamingnotifications between networks. Although shown as separate physicalnetworks in FIG. 1, the thirteen networks (five GSM and eight GSM/GPRS)interconnect to form a total of four networks—three GSM/GPRS networks 1,2, and N, and one GSM network 1. A GSM network could connect to one ormore other GSM networks, one or more GSM/GPRS networks, or both. AGSM/GPRS network could similarly connect with other GSM/GPRS networks,GSM networks, or both GPRS/GSM networks and GSM networks. Networks inCanada, shown as GSM/GPRS1 2 and GSM/GPRS2 4, respectively connect withGSM/GPRS1 12 and GSM1 14 shown in the USA. GSM/GPRS2 4 also connectswith GSM/GPRS1 8 shown in the England area via communication link 6.Network GSM1 14 from the USA also connects with GSM1 10 shown in themiddle of Europe. Other networks 16 through 28 are similarlyinterconnected as shown. These interconnections form the basis oftraffic movement and roaming support between the networks.

As a mobile station enters a given country or communication networkcoverage area, it may be capable of communicating with one or morewireless GSM or GSM/GPRS networks to receive data and voice signals. InEngland, for example, there are currently four GSM or GSM/GPRS networksdeployed and available for mobile stations to connect with. Normally,cellular telephones or mobile stations sold in England will only workwith one network. However, mobile stations entering England from Francemight have two or three networks to select from. Selection of aparticular network is currently performed by a mobile station randomlybased on the strongest received signal at the time of arrival into thecountry.

Turning now to FIG. 2, a block diagram is shown of a cellular mobilestation, which is one type of mobile communication device. Mobilestation 115 is preferably a two-way wireless communication device havingat least voice and data communication capabilities. Mobile station 115preferably has the capability to communicate with other computer systemson the Internet. Depending on the exact functionality provided, themobile device may be referred to as a data messaging device, a two-waypager, a wireless e-mail device, a cellular telephone with datamessaging capabilities, a wireless Internet appliance, or a datacommunication device, as examples.

Where mobile station 115 is enabled for two-way communication, it willincorporate a communication subsystem 211, including both a receiver 212and a transmitter 214, as well as associated components such as one ormore, preferably embedded or internal, antenna elements 216 and 218,local oscillators (LOs) 213, and a processing module such as a digitalsignal processor (DSP) 220. As will be apparent to those skilled in thefield of communications, the particular design of the communicationsubsystem 211 will be dependent upon the communication network in whichthe device is intended to operate. For example, mobile station 115 mayinclude a communication subsystem 211 designed to operate within theMobitex™ mobile communication system, the DataTAC™ mobile communicationsystem, or a GPRS network.

Network access requirements will also vary depending upon the type ofnetwork 219. For example, in the Mobitex and DataTAC networks, mobilestation 115 is registered on the network using a unique identificationnumber associated with each mobile station. In GPRS networks, however,network access is associated with a subscriber or user of mobile station115. A GPRS mobile station therefore requires a subscriber identitymodule (SIM) card in order to operate on a GPRS network. Without a validSIM card, a GPRS mobile station will not be fully functional. Local ornon-network communication functions, as well as legally requiredfunctions (if any) such as “911” emergency calling, may be available,but mobile station 115 will be unable to carry out any other functionsinvolving communications over the network 219. The SIM interface 244 isnormally similar to a card-slot into which a SIM card can be insertedand removed. The SIM card can have approximately 64 K of memory and holdmany key configuration, identification, and subscriber relatedinformation 250. The O-PPLMN, the U-PPLMN, and the forbidden PLMN(FPLMN) are initially received from the SIM card 250. Reference to thePPLMN hereinafter will generally apply to both the O-PPLMN and U-PPLMN.

When required network registration or activation procedures have beencompleted, mobile station 115 may send and receive communication signalsover the network 219. Signals received by antenna 216 throughcommunication network 219 are input to receiver 212, which may performsuch common receiver functions as signal amplification, frequency downconversion, filtering, channel selection and the like, and in theexample system shown in FIG. 2, analog to digital (A/D) conversion. A/Dconversion of a received signal allows more complex communicationfunctions such as demodulation and decoding to be performed in the DSP220. In a similar manner, signals to be transmitted are processed,including modulation and encoding for example, by DSP 220 and input totransmitter 214 for digital to analog conversion, frequency upconversion, filtering, amplification and transmission over thecommunication network 219 via antenna 218. DSP 220 not only processescommunication signals, but also provides for receiver and transmittercontrol. For example, the gains applied to communication signals inreceiver 212 and transmitter 214 may be adaptively controlled throughautomatic gain control algorithms implemented in DSP 220.

Mobile station 115 preferably includes a microprocessor 238 whichcontrols the overall operation of the device. Communication functions,including at least data and voice communications, are performed throughcommunication subsystem 211. Microprocessor 238 also interacts withfurther device subsystems such as the display 222, flash memory 224,random access memory (RAM) 226, auxiliary input/output (I/O) subsystems228, serial port 230, keyboard 232, speaker 234, microphone 236, ashort-range communications subsystem 240 and any other device subsystemsgenerally designated as 242.

Some of the subsystems shown in FIG. 2 perform communication-relatedfunctions, whereas other subsystems may provide “resident” or on-devicefunctions. Notably, some subsystems, such as keyboard 232 and display222, for example, may be used for both communication-related functions,such as entering a text message for transmission over a communicationnetwork, and device-resident functions such as a calculator or tasklist.

Operating system software used by the microprocessor 238 is preferablystored in a persistent store such as flash memory 224, which may insteadbe a read-only memory (ROM) or similar storage element (not shown).Those skilled in the art will appreciate that the operating system,specific device applications, or parts thereof, may be temporarilyloaded into a volatile memory such as RAM 226. Received communicationsignals may also be stored in RAM 226.

Microprocessor 238, in addition to its operating system functions,preferably enables execution of software applications on the mobilestation. A predetermined set of applications that control basicoperations, including at least data and voice communication applicationsfor example, will normally be installed on mobile station 115 duringmanufacturing. A preferred software application may be a personalinformation manager (PIM) application having the ability to organize andmanage data items relating to the user of the mobile station such as,but not limited to, e-mail, calendar events, voice mails, appointments,and task items. Naturally, one or more memory stores would be availableon the mobile station to facilitate storage of PIM data items. Such PIMapplication would preferably have the ability to send and receive dataitems, via the wireless network 219. In a preferred embodiment, the PIMdata items are seamlessly integrated, synchronized and updated, via thewireless network 219, with the mobile station user's corresponding dataitems stored or associated with a host computer system. Furtherapplications may also be loaded onto the mobile station 115 through thenetwork 219, an auxiliary I/O subsystem 228, serial port 230,short-range communications subsystem 240 or any other suitable subsystem242, and installed by a user in the RAM 226 or preferably a non-volatilestore (not shown) for execution by the microprocessor 238. Suchflexibility in application installation increases the functionality ofthe device and may provide enhanced on-device functions,communication-related functions, or both. For example, securecommunication applications may enable electronic commerce functions andother such financial transactions to be performed using the mobilestation 115.

In a data communication mode, a received signal such as a text messageor web page download will be processed by the communication subsystem211 and input to the microprocessor 238, which preferably furtherprocesses the received signal for output to the display 222, oralternatively to an auxiliary I/O device 228. A user of mobile station115 may also compose data items such as email messages for example,using the keyboard 232, which is preferably a complete alphanumerickeyboard or telephone-type keypad, in conjunction with the display 222and possibly an auxiliary I/O device 228. Such composed items may thenbe transmitted over a communication network through the communicationsubsystem 211, and stored in portions 251 of flash memory 224.

For voice communications, overall operation of mobile station 115 issimilar, except that received signals would preferably be output to aspeaker 234 and signals for transmission would be generated by amicrophone 236. Alternative voice or audio I/O subsystems, such as avoice message recording subsystem, may also be implemented on mobilestation 115. Although voice or audio signal output is preferablyaccomplished primarily through the speaker 234, display 222 may also beused to provide an indication of the identity of a calling party, theduration of a voice call, or other voice call related information forexample.

Serial port 230 in FIG. 2 would normally be implemented in a personaldigital assistant (PDA)-type mobile station for which synchronizationwith a user's desktop computer (not shown) may be desirable, but is anoptional device component. Such a port 230 would enable a user to setpreferences through an external device or software application and wouldextend the capabilities of mobile station 115 by providing forinformation or software downloads to mobile station 115 other thanthrough a wireless communication network. The alternate download pathmay for example be used to load an encryption key onto the devicethrough a direct and thus reliable and trusted connection to therebyenable secure device communication.

A short-range communications subsystem 240 is a further optionalcomponent which may provide for communication between mobile station 115and different systems or devices, which need not necessarily be similardevices. For example, the subsystem 240 may include an infrared deviceand associated circuits and components or a Bluetooth™ communicationmodule to provide for communication with similarly-enabled systems anddevices.

FIG. 3 is a block diagram showing two GSM/GPRS networks and a mobilestation roaming between them. FIG. 3 depicts a mobile station 115roaming between two GSM/GPRS networks 120 and 125. This type of roamingarrangement is similar to how a GSM-only network might handle roaming,but with minor differences. In a GSM/GPRS combined network, a mobilestation that supports only voice, only data, or a combination of voiceand data will be treated similarly with respect to roaming betweennetworks. A mobile station entering a given area or country can detectthe GSM and GSM/GPRS networks through special RF radio channelinteractions. The illustration of FIG. 3 provides a quick referencesummary to describe how the process works. Roaming relationships betweenoperators are established mainly for billing issues. Special Interoperator tariff (IoT) arrangements can be established between operatorsfor GSM traffic only, or GSM and GPRS traffic. It is these relationshipsthat are reflected in the PPLMN and FPLMN lists within the mobilestation SIM cards.

GSM/GPRS Network 1 is the home network 120 for the user of mobilestation 115. The home network for the user is referred to as the homepublic land mobile network (HPLMN) and mobile stations registered withinthat network are maintained in a home location registry (HLR) 150. HLR150 is used to verify subscribers on the home network, and to confirmhome subscribers on other networks. Each wireless network supports arange of services where each of the service access points tends to be afixed connection, not a radio-based connection. Fixed connectionsgenerally allow greater capacity of data throughput for a large numberof service subscribers supported by a single Access Point Name (APN). InFIG. 3, one such service is termed a home service provider 100, as itmight be the primary communications service for a given group of mobilestations 115. Some mobile stations 115 might have a single home serviceprovider 100, or they might have several services 105, 110 that theyaccess.

The main components in GSM/GPRS network 125 include base station 145,the serving GPRS support node (SGSN) 130, the gateway GPRS support node(GGSN) 140, the Border GGSN node 135, the HLR (home location registry)150 and the VLR (visitor location registry) 155.

Conventionally, when mobile station 115 is within a coverage area ofhome network 120, it communicates via base station 145 back throughnetwork 120 to home service provider 100. When mobile station 115 islooking for coverage, especially when there might be several networksavailable, it normally checks for the HPLMN first. As the user roams toanother country or region where home network 120 is no longer available,mobile station 115 scans for all available base stations 147 viareceived, normally radio frequency (RF), signal strengths. To oneskilled in the art, it is understood that selecting a ‘strong enough’ RFsignal strength is open to a wide range of settings and interpretations.As an example, the GSM standards specify that a signal strength of —85dBm or more should be considered an appropriate level for a ‘strongenough’ signal. However, this exact signal level is not essential to thesystems and methods described herein, and other values may be useful,depending upon the particular network, mobile station or type of networkor mobile station.

Those skilled in the art will appreciate that such scanning processeshave pre-defined patterns. In a GSM or GPRS network, for example,scanning operations are defined in the standards governing GSM mobilestations. There is some flexibility in the standards, allowing a user tohave some participation in the selection of a network to be used outsideof the HPLMN. Each network is defined as a PLMN, and the relationshipbetween PLMNs can be defined in tables within mobile station 115. Oncemobile station 115 has identified base stations 147 and thus thenetworks within its range, it turns to the PPLMN list to see if one ofthe networks matches a network in the PPLMN list.

In conventional GPRS mobile stations, there are two types of PPLMN listswithin the mobile station 115, namely an O-PPLMN and a U-PPLMN as shownin FIG. 2. The user-defined list is a relatively new concept and is inlimited use at the current time. Similarly, mobile station 115 also hasa Forbidden PLMN (FPLMN) list which it uses to exclude certain networkconnections. There is also a chance that a network located during ascanning operation does not fall into either of these lists. In thiscase, the network can preferably still be used in response to aconfirmation by a mobile station user, through a dialog box for example,as to which network should be used.

GPRS networks are normally linked through a GPRS routing exchange (GRX)160 and a border GGSN 135 and 137. The signaling involved with thisexchange is described herein to the extent necessary to illustrateaspects of the invention. Further details of GRX 160 may be apparent tothose skilled in the art, and can also be found in the GSM standardsdocuments dealing with support for roaming in GPRS (3GPP specification23.122).

When mobile station 115 experiences a prolonged out-of-coveragesituation, it begins to look for RF signals from base stations 145 or147. Once a signal is acquired, the radio protocols inform mobilestation 115 which network has been reached and the capabilities of thatnetwork. Each network has a signature, and a GPRS-capable base stationhas an extended handshake protocol beyond the GSM protocol to identifyits data capabilities. Within a GSM/GPRS network there exists a mobilecountry code (MCC) and a mobile network code (MNC) which contains anetwork assigned value and an access technology number. The accesstechnology number indicates the radio frequency range of the network,i.e. 900 MHz, 1800 MHz, 1900 MHz, etc.

As mobile station 115 selects a network, it performs an “attach” to thenetwork and provides its identification code. For GSM/GPRS, this codecould include both the International Mobile Subscriber Identity (IMSI)or Temporary Mobile Subscriber Identity (TMSI), which identify acommunication network account or subscription, and a Mobile StationISDN/PSTN Number MSISDN, which identifies the mobile station user orsubscriber. If mobile station 115 is attempting to attach to a networkother than its home network 120, such as network 125, then the othernetwork 125 will use the GRX network 160 to verify the subscription withhome network 120. This causes home network 120 to reference HLR 150 todetermine if the subscription is valid. Once verified, mobile station115 is placed in VLR table 157 of visiting network 125. To one skilledin the art, this procedure is similar in a GSM-only network, except thatthe link between the home and visiting networks would be through aGateway Mobile Switching Center (MSC) component.

After attaching to network 125, mobile station 115 will attempt to opena Packet Data Protocol (PDP) context to home service provider 100through the local SGSN 132 in GSM/GPRS network in country-2 125. The PDPcontext targets an APN and home service 100. The PDP context alsoallocates an IP address for mobile station 115 so that IP packets can betransmitted in either direction. SGSN 132 detects mobile station 115 asa visiting mobile station 115 and routes the request through border GGSN137 and onward to the correct GRX connection in GRX network 160 to acorresponding border GGSN 135 in home network 120. As mentioned above,this determination is made by the identification information provided bymobile station 115 during the attach process.

Each interface in the GSM/GPRS network is labeled to identify whichprotocol is used. Between all base stations 145 and SGSN 130, is the Gbinterface. Between SGSN 130 and GGSN 140 is the Gn interface, which isalso used between SGSN 130 and border GGSN 145. Between GGSN 140 and allservice providers, the Gi interface is used, and between border gateways135 and GRX network 160, the Gp interface is used. From GRX network 160,all other foreign network operators (FNO) systems 165 can be reached,assuming they have commonly linked GRX networks.

GSM network standards specify particular steps that mobile station 115must perform to select a base station 147 in GSM/GPRS network incountry-2 125. First, mobile station 115 must achieve a certain minimumlevel of signal strength with the base station. Once signal strength isestablished and the networks associated with each base station whichmeet the minimum signal strength criterion are identified, mobilestation 115 uses its PPLMN and FPLMN lists on the SIM to determine whatit considers the “best” network choice. Mobile station 115 checks thePPLMN list to see if one of the newly located networks matches a networkon the PPLMN list. Similarly, mobile station 115 also checks the FPLMNlist to determine which networks are forbidden. If any of the newlylocated networks occur in the FPLMN, then those networks are excludedfrom any further connection operations. If there are no matches to thePPLMN list, mobile station 115 may attempt to select one of the recentlylocated networks based on signal strength.

FIG. 4 is a block diagram illustrating a mobile station in a regionwhere there are several networks of different types. In FIG. 4, mobilestation 115 is shown in a region with four networks 210, 215, 220, 225,each having a base station 212, 214, 216, 218. For illustrativepurposes, it is assumed that each base station 212, 214, 216, 218 hassimilar RF strength from the point of view of mobile station 115, andthat mobile station 115 receives “strong enough” signals, from LocalNetwork 1 210, Local Network 2 215, Local Network 3 220, and LocalNetwork 4 225. Two of the networks 210 and 215 are GPRS capable and twoof the networks 220 and 225 are GSM-only networks that are not GPRScapable.

According to the present application, in order for mobile station 115 tomaximize its capabilities as a multi-functional mobile station (e.g.capable of both data and voice communication services), it should selectone of the GPRS networks 210 and 215. In conventional GSM operation,mobile station 115 would compare all networks from which receivedsignals are above any minimum required signal strength level and matchthem against the top-most network found in the PPLMN. Since the PPLMN isin priority order, a GSM mobile station must, by definition, follow theordering of this list. In FIG. 4, for example, if Local Network 4 225 isthe highest network listed in the PPLMN list then mobile station 115must camp on this network. However, this process ignores the fact thatmobile station 115 might also be data-capable. The choice of LocalNetwork 4 225, which does not support data communications, may thereforenot always be optimal for mobile station 115.

To improve the capabilities of mobile station 115, the search for abetter network preferably takes other factors into consideration. Sincemobile station 115 cannot effectively communicate when signal strengthis below a certain level, only network base stations with ‘strongenough’ signals are located, substantially as described above. Accordingto one aspect of the invention, data-capable networks, such as GPRSnetworks, are then identified. Mobile station 115 may then determinewhich of the identified data-capable networks is listed first on apreferred network list, which in GSM/GPRS mobile stations would be thePPLMN list. Mobile station 115 then checks to ensure that aninterconnection, such as a GRX network for a GPRS network, is availableto the home network from this highest-priority data-capable network onthe preferred list. If no interconnection to the home network from thehighest priority data-capable network is available, then mobile station115 continues to try the identified data-capable networks that are alsoin the preferred list until a link is found back to the home network.

If no links can be found that connect to the home network, then mobilestation 115 may revert to traditional network selection of anon-data-capable network such as a GSM network, as described above.Alternatively, the network selection method might stop after scanningall data-capable networks for links to the home network. This may beparticularly desirable when the data-capable networks have morecapabilities compared to a non-data-capable network. In somecircumstances, even if a user cannot reach their home network, they maybe able to better use the mobile station on the new network, forexample, to access the Internet at large.

Referring again to FIG. 4, mobile station 115 normally has access to apreferred network list in the form of a PPLMN stored on a SIM card.Data-capable networks include the GSM/GPRS Local Networks 1 and 2, 210and 215, whereas the GSM Local Networks 3 and 4, 220 and 225, representexamples of non-data-capable networks.

If mobile station 115 performs the network selection method describedbriefly above, and it is assumed that the PPLMN list follows theordering of the networks shown in FIG. 4, the first network that shouldbe attempted is the Local Network 1 210. However, since Local Network 1210 does not have a GRX connection back to the home PLMN 205, LocalNetwork 2 215 will be tried next. Since this network does have a Gp link240 back to home PLMN 205 and home service provider 200, it will beselected by mobile station 115. If Local Network 2 215, the lastavailable data-capable network, did not have a connection back to homePLMN 205, the first GSM network would be tried. The first GSM networktried would be Local Network 3 220, and link 230 would be used tocommunicate with the HLR in that home PLMN 205 to verify the user'saccount information. If that fails, Local Network 4 225 would be triedvia link 235.

In another embodiment of FIG. 4, the new networks 210, 215, 220, 225 arenot included on the O-PPLMN list on mobile station 115. This situationis more difficult, as the U-PPLMN list may come into effect, if itexists, in a memory such as the Flash memory 224 or the RAM 226 (FIG.2).

One common way to build up a U-PPLMN is through previous user or“manual” network selections. As in the above example of FIG. 4, it isassumed that mobile station 115 has entered a country or region where itreceives signals of similar strengths from the four networks 210, 215,220 and 225. However, it is further assumed that these networks are notfound on the O-PPLMN list or the FPLMN list, so mobile station 115 mayconsider them to be usable. In this situation, once these networks areidentified, the user may be prompted to choose which network they wouldlike to try. In the GSM standards documents, this is referred to asmanual network selection. After the user has selected a network, it istried for connectivity back to home network 205 and, if successful, itis added to the U-PPLMN.

The user interface (UI) to these manual network selections could be astandard dialog box, a pick list, a scrolling menu, or any other UIselection models available. It will be apparent to those skilled in theart that the UI could also include the network capabilities by showingcapability identifying strings such as “GPRS” or “GSM” beside each ofthe network choices for the user. In another embodiment, the user mightbe presented with a dialog box entitled “GPRS Network Selections”followed by “GSM Network Selections” if all the GPRS networks failed toreach the home PLMN.

Network selection in this situation could instead be automatic, notrequiring user intervention. In such a method, mobile station 115preferably identifies the networks that support GSM and those thatsupport GSM/GPRS and separates the two types of networks. The GSM-onlynetworks are placed on a Discouraged PLMN list (DPLMN) and are onlytried after all the GSM/GPRS networks have been tried and failed. Theonly failure mentioned thus far was around the inability to reach homePLMN 205. Other failures could include: (1) PLMN not allowed; (2)roaming not allowed in this local area; (3) GPRS not allowed; or (4)home network rejection. These errors and others might cause the networkto be placed on the FPLMN, as the network link does not seem to beworking for mobile station 115.

Manually or automatically selected networks are preferably added to theU-PPLMN list, which may be stored in a writable data store such as Flashmemory 224 or RAM 226 (FIG. 2) in mobile station 115. The U-PPLMN listmay then be consulted during subsequent network selection procedures.Normally, mobile station 115 will first check the O-PPLMN list for newnetworks detected during a network selection process before consultingthe U-PPLMN list. It may also be possibly to configure a mobile stationto check the U-PPLMN list before the O-PPLMN list, depending, forexample, upon restrictions controlled by the home network operator, ahome service provider, or a mobile station owner.

According to current GSM standards documents, a mobile station has onlythe limited ability to rescan for a network that is higher in priorityon the U-PPLMN list or the O-PPLMN list. If a voice-only GSM orotherwise limited service has been established for a mobile station,however, it may be desirable for the mobile station to periodicallycheck for a new network such as a GSM/GPRS network. This may be doneeven if the network has a lower priority on the O-PPLMN and U-PPLMNlists. This situation may also arise for other types of mobile stationsand networks, where a mobile device is enabled for communications overdifferent types of networks which support different mobile stationfunctions or services.

In FIG. 4, mobile station 115 enters a new region or country and findscoverage (i.e. a ‘strong enough’ signal) with only one GSM-only basestation located on Local Network 4 225. However, as mobile station 115travels within the same country it may come into coverage of anotherGSM/GPRS base station, in Local Network 1 210. In GSM standards, mobilestation 115 could only camp on the network 210 if it had higher priorityin the PPLMN lists. In accordance with the present application, however,mobile station 115 will attempt to rescan for other data-capablenetworks not previously seen or available upon expiration of a timeperiod or other suitable event. This includes any network that may belower in priority on the O-PPLMN and U-PPLMN lists. This time intervalmay be specified or configured by a network operator, SIM manufacturer,network standards documents mobile station manufacturers, or a user ofmobile device 115, as examples. The goal of such rescanning is toimprove the network capabilities of mobile station 115. In this example,mobile station 115 has voice support through the Local Network 4 225,but by changing network connections mobile station 115 could obtain dataand voice support through Local Network 1 210.

A rescanning process may be triggered or initiated by any suitableevent. For example, in the case of an interval timer, a rescanningprocess may be executed whenever a rescan timer expires. Such a timer isreset appropriately so that rescanning is performed at intervals. If thetimer is reset to the same value unless or until the time interval isreconfigured, rescanning will occur at regular intervals. Rescan timingcould instead be repeated at different intervals, if the timer is resetto different values after some number of unsuccessful rescan operationsduring which no new data-capable network is found. In order to avoidrescanning at typically high network traffic times, rescanning couldalso be restricted during certain times of day. Rescanning could also oralternatively be performed when a mobile station detects a change inregions, or when a mobile station acquires a voice-only networkconnection in new region. If the mobile station detects an availablenetwork capable of both voice and data communications, then the mobilestation preferably attempts to camp on this network. Received signalstrengths and PPLMN lists may be used substantially as described aboveduring a rescan process. Since a primary goal of the rescanning processis to find an available data communication service for the mobilestation, rescanning is preferably disabled when a mobile station isalready operating within a network which has the data communicationservice already available.

When a current network is on the O-PPLMN list or the U-PLMN list, and anewly discovered network is not on the PPLMN list, the mobile stationmay remain on the current network instead of switching to a new network.It is likely that most GSM/GPRS networks have been included somewhere onthe O-PPLMN list or possibly the U-PPLMN list. A network change during arescan process may also be dependent upon relative signal strengths toavoid switching from a strong GSM network to a significantly weakerGSM/GPRS network. Acceptable signal strength differences may be stored,for example, in a memory of a mobile station.

Time-Efficient Selection Of Data-Capable Networks For Data-CapableMobile Devices. Thus, a better and non-traditional network selectiontechnique for data-capable mobile stations involves prioritizing theselection of data-capable communication networks (e.g. GPRS) overvoice-only networks (e.g. GSM). In such a procedure, the mobile stationmay have to determine whether or not the data service is actually madeavailable by the communication network. Conventionally, a mobile stationmakes a request for a data service which may be accepted or denied bythe network. When data service is denied, the mobile station receivesdifferent “reject cause codes” from the network which are associatedwith different reasons for service denial. Depending on the reject code,the mobile station may have to wait until it may request the dataservice again, a timer expires, the network changes, or the user cyclesthe power (off & on) of the mobile device. If the end user is notviewing the display of the mobile station (e.g. the mobile station iscarried in a holster), the user will not be aware of the data serviceunavailability and may not receive important push data in a timelyfashion (e.g. pushed e-mail messages). In a related efficiency problem,if the GPRS attach or a Routing Area Update (RAU) attempt is notsuccessful with the network (e.g. no network response, or the receipt ofa rejection code), the mobile station consecutively reattempts for up tofive (5) times. If the GPRS attach or RAU attempt counter is greaterthan or equal to five, the mobile station must place itself into a “GPRSDeregistered” state and start a timer designated as “timer 3302”. Timer3302 is set to a value taken from GSM timer 3212, which is a periodiclocation update timer. See e.g. 3GPP specification 4.08 Release 1997.From 3GPP specification 24.08 Release 1999, the default value of T3302is 12 minutes if one is not provided by the network. The mobile stationordinarily receives the value for timer 3212 over-the-air by the networkor, if one is not provided by the network, utilizes a default value. Ifprovided over-the-air by the network, the timer may be set to up to four(4) hours. The mobile station is not able to attempt for GPRS servicesagain until this timer 3302 expires. As apparent, this may causesubstantial data delays (e.g. delays in receiving “pushed” e-mailmessages).

FIGS. 5, 6, and 7 form a flowchart which describes a specific method ofautomatic network selection performed by a mobile station. This methodincludes a more time-efficient selection of a data-capable networkaccording to the present application, so as to overcome the deficienciesof conventional techniques. A computer program product of the presentapplication includes a storage medium and computer instructions storedin the storage medium, where the computer instructions are executable byone or more processors of a mobile station for performing the methoddescribed. The mobile station of the present application includes one ormore processors and a wireless transceiver coupled to the one or moreprocessors, where the one or more processors are operative to performthe method described.

Beginning at a connector M of FIG. 5, where the mobile station getspowered on or recovers from an out-of-coverage condition, a scanningoperation identifies available networks within the mobile station'scoverage area. From the scan list, the mobile station identifies whetheror not there is a Registered PLMN (RPLMN) (step 502). An RPLMN is onlyacknowledged as an RPLMN if it had a data connection (e.g. GPRSconnection); otherwise the RPLMN is not acknowledged as an RPLMN. Ifthere is an RPLMN in step 502, then the mobile station identifieswhether there is a Home PLMN and whether that HPLMN is not the same asthe RPLMN (step 504). If “YES” at step 504, the mobile station selectsthe HPLMN (step 506) in this case where the RPLMN is available and theHPLMN is available and allowable. If “NO” at step 504, the mobilestation selects the RPLMN (step 508). After step 508, and after step 506where the mobile station selects the HPLMN, the mobile station attemptsregistration with the selected PLMN (step 510). Note that a connector P′leads to step 510 as well. By “available”, it is meant that the networkis available in the coverage area of the mobile station; by “allowable”,it is meant that the network provides at least GSM service (e.g.obtained through a GSM attach procedure).

Upon an unsuccessful registration at step 510 (i.e. a GSM attachreject), the mobile station receives a reject code from the network. Thereject code is tested and, if the reject code has a value of 2, 3, or 6(step 521), then the mobile station proceeds to step 523. In step 523,the mobile station tests whether the reject code has a specific value of2. If the reject code=2 in step 523, then the mobile station recordsthat the network is preferred as GPRS (step 527) where the flowcontinues through a connector O. If the reject code does not have avalue of 2 as identified in step 523, then the SIM is designated asinvalid until power off or SIM card removal (step 525). If the rejectcode does not have a value of 2, 3, or 6 at step 521, then the flowproceeds to step 522. Upon a successful registration at step 510 (i.e. aGSM attach accept), the selected PLMN is indicated in a visual displayof the mobile station (step 512). From step 512, the mobile stationidentifies in step 540 whether the PLMN is GSM-only (i.e. no dataservice). If “YES” in step 540, the mobile station remains registeredand connected through this PLMN (state 542). In state 542, the mobilestation may experience an out-of-coverage condition where operationproceeds through a connector R1. On the other hand, in state 542 themobile station may receive a user manual reselection of a network andthereafter proceed through a connector S (FIG. 6). Further in step 542,operation through connector P2 may lead to step 528, where the mobilestation identifies whether the PLMN is not the HPLMN and the HPLMN timeris greater than 6 minutes. If “YES” at step 528, then the mobile stationstarts an internal timer t1 for a PLMN search (step 530). If “NO” atstep 528, the mobile station waits for the HPLMN timer to timeout (step532). Upon timeouts in steps 530 and 532, the mobile station identifieswhether the HPLMN or a data-capable (e.g. GPRS capable) PLMN was found(step 534). If “YES” at step 534, then operation proceeds through aconnector Z. If “NO” at step 534, then operation continues in state 542.

If “NO” from step 540, then operation proceeds to step 514. In step 514,the mobile station attempts a GPRS attach request with the selectednetwork (step 514). If successful at step 514, the mobile stationattempts a PDP context request with the selected network (step 516). Ifsuccessful at step 516, the mobile station remains registered andconnected through this PLMN (state 518). Note that a connector W leadsto state 518 as well. Note also that connector O leads to step 514, anda connector X1 leads to step 516. In step 514, the mobile station mayreceive a reject code from the network in response to the GPRS attachrequest and thereafter proceed through a connector T (FIG. 6). On theother hand, in step 514 there may be a T3310 timer timeout or a lowlayer failure where operation proceeds through a connector V (FIG. 6).In step 516, the mobile station may receive a reject code from thenetwork in response to the PDP context request and thereafter proceedthrough a connector U (FIG. 7). On the other hand, in step 516 there maybe a T3380 timer timeout where operation proceeds through a connector U1(FIG. 7).

In state 518, the mobile station may receive a user manual reselectionof a network and thereafter proceed through a connector S (FIG. 6). Alsoin state 518, the mobile station may experience a Routing Area Update(RAU) rejection and thereafter proceed through a connector T (FIG. 6).Further in state 518, the mobile station may experience a RAU T3330timeout or a lower layer failure and thereafter proceed through aconnector V (FIG. 6). Even further in state 518, if the current PLMN isnot the HPLMN, a periodic HPLMN timer expiration invokes the mobilestation to identify whether the HPLMN or data-capable PPLMN is nowavailable (step 520). If the HPLMN or a data-capable PPLMN is availablein step 520, the operation proceeds through a connector P′. If the HPLMNor a data-capable PPLMN is not available in step 520, the mobile stationremains registered and connected through the PLMN in state 518. Yet evenfurther in state 518, a PDP deactivation from the network leadsoperation through connector U2.

In state 518, the mobile station may also experience an out-of-coveragecondition with the PLMN and thereafter proceed to step 522. Step 522 isalso performed if there is no RPLMN identified in step 502, or a GSMattach reject < >2 is identified from step 521, or a radio coverage lossis experienced from state 542 (through connector R1). In step 522, themobile station identifies whether there is any PLMN available andallowable. If there is any PLMN available and allowable, the operationproceeds through a connector R (FIG. 6). If there is no PLMN availableand allowable at step 522, then the mobile station will display “NoAllowable Network—Emergency Service Only” (where other networks areavailable but not allowable) (step 524). If there is no availablenetwork at step 522, then the mobile station will display“Out-Of-Coverage—No Service” in step 524. Note that a connector Q leadsto step 524 as well. After step 524, the mobile station will wait forPLMNs to become available (state 526). If the RPLMN becomes availableand allowable in state 526, then operation proceeds through connectorP′. If a non-RPLMN becomes available and allowable in state 526, thenoperation proceeds through connector R.

Reference will now be made to FIG. 6, which continues with the automaticnetwork selection and particularly describes the handling of rejectcodes from networks in response to GPRS attach requests from a mobilestation. Connector T is from step 514 of FIG. 5, where the network sendsa reject code to the mobile station in response to a GPRS attachrequest. If the reject code has a value of 3, 6, or 8 as identified instep 601, then the SIM is designated as invalid until power off or SIMcard removal (step 603). If the reject code does not have a value of 3,6, or 8 as identified in step 601, then flow proceeds to step 602. Ifthe reject code has a value of 7, 11, 12, 13, or 14 in step 602, therejection is deemed critical and operation proceeds to step 614 wherethe mobile station will generally immediately proceed to reselect adifferent network. If the reject code has any other value (i.e. not 7,11, 12, 13, or 14) as tested in step 602, the rejection is deemednon-critical and operation proceeds to step 604 where the mobile stationwill generally reattempt with the network. Note that a critical error isdeemed one in which a permanent problem or fault exists with the networkor the end user's service subscription; a non-critical error is notcritical but rather is one in which there is a problem or fault with thenetwork or service subscription that may be passing or temporary. Areject code having a value of 3 corresponds to an illegal mobilestation; a value of 6 corresponds to an illegal mobile equipment; and avalue of 8 corresponds to GPRS services and non-GPRS services not beingallowed. A reject code having a value of 7 corresponds to GPRS servicesnot allowed; a value of 11 corresponds to PLMN not allowed; a value of12 corresponds to location area not allowed; a value of 13 correspondsto roaming not allowed in the current location area; and a value of 14corresponds to GPRS services not allowed by the current PLMN.

In step 604, the mobile station checks an attach counter (or RAUcounter) to see if its value is greater than or equal to five (5). Notethat a connector V leads to step 604 as well. If the attach counter (RAUcounter) is not greater than or equal to five, then operation proceedsthrough connector O (if attach reject/no network response) or connectorW (if RAU reject/no network response) (FIG. 5). If the attach counter(RAU counter) is greater than or equal to five, then the mobile stationproceeds to check whether the PLMN is the HPLMN (step 620). If the PLMNis the HPLMN at step 620, then the mobile station displays “TemporaryFailure of Data Service” (step 622) and proceeds to check whether atimer T3302 is set to a value that is greater than a predeterminedinternal timer value (step 606). The internal timer value is typicallyset to between 5-30 minutes, and preferably greater than 12 minutes(e.g. between 13 and 30 minutes). Alternatively, the internal timervalue is set to between 5-10 minutes, preferably about 6 minutes. Iftimer T3302 is greater than the internal timer value at step 606, themobile station starts a timer based on the internal timer value (step608). If timer T3302 is greater than the internal timer value at step606, the mobile station starts a timer based on the timer T3302 value(step 612). Upon timeout from either of the timers at steps 608 andsteps 612, then operation proceeds through connector O (if attachreject/no network response) or connector W (if RAU reject/no networkresponse).

In step 614, the mobile station detects whether the current PLMN is theHPLMN. If the current PLMN is the HPLMN, then operation proceeds to step616. In step 616, the mobile station displays “Data Service Refused onthis Network—Please Contact your Service Provider” (step 616). If thecurrent PLMN is not the HPLMN at step 614, then the mobile stationoperates to scan for a new network (step 618). Step 618 is alsoperformed in response to a “NO” decision at step 620 previouslydescribed above. After step 618, the mobile station identifies whetherthere are any data-capable (i.e. GPRS capable) PLMNs available andallowable (step 624). If there are data-capable PLMNs available andallowable, then the mobile station configures and marks the PLMN listaccordingly (step 638). For example, PLMNs that are data-capable may beflagged as preferred in the PLMN list. Note that connector Z leads tostep 638 as well. Next, the last selected PLMN is moved into the lastposition of the PLMN list (step 640) (with the exception of the HPLMNwhich is placed “second” in the list). Note that connector S leads tostep 640 as well. The first PLMN in the PLMN list is then selected bythe mobile station (step 642). Note that connector R also leads to step642. The mobile station then identifies whether its SIM is invalid forGSM service (step 643). If the SIM is invalid for GSM service at step643, then operation proceeds through a connector O (FIG. 5). If the SIMis not invalid for GSM service at step 643, then operation proceedsthrough a connector P′ (FIG. 5).

In step 624 if there are no data-capable PLMNs available, then themobile station displays “Data Service Refused on this Network” (step654) and proceeds to step 628. In step 628, the mobile station checkswhether the HPLMN timer is greater than 6 minutes. If the HPLMN timer isgreater than 6 minutes, the mobile station starts an internal timer t1for PLMN search (step 632). If the HPLMN timer is not greater than 6minutes, the mobile station waits for the HPLMN timer to timeout (step630). When a timeout occurs from either step 630 or 632, the mobilestation identifies whether the HPLMN or a GPRS PLMN has been found (step634). This PLMN must not have been previously rejected with a rejectcode of 7, 12, 13, or 14. If “YES” at step 634, then operation proceedsthrough a connector Z. If “NO” at step 634, then the mobile stationstarts the HPLMN timer or internal timer t1 (step 636).

Reference will now be made to FIG. 7, which continues with the automaticnetwork selection and particularly describes the handling of rejectcodes from networks in response to PDP context requests from a mobilestation. Connector U2 is from step 518, where the network sends a PDPdeactivation to the mobile station. Connector U is from step 516 of FIG.5, where the network sends a reject code to the mobile station inresponse to a PDP context request. From connector U and U2, the mobilestation tests whether the current APN is not a “X.net” type APN (i.e. apredetermined address) or does not support e-mail service (step 700). If“YES” at step 700, then the mobile station remains on the currentnetwork (step 701). If “NO” at step 700, then the flow proceeds to step702 where the mobile station tests the reject code received from thenetwork. A reject code is an indication that the network has rejectedthe request for data connectivity for some reason. If the reject code isdeemed non-critical (step 702), then operation proceeds to step 704where the mobile station will generally reattempt with the network. Ifthe reject code is deemed critical at step 702, then operation proceedsto step 706 where the mobile station will generally reselect a differentnetwork.

In the present embodiment, reject codes that are deemed non-critical are26, 31, 34, 102, 38, 36, 39, and 35. Reject code 26 corresponds toinsufficient resources; reject code 31 corresponds to an unspecifiedactivation rejection; reject code 34 corresponds to the service optionbeing temporarily out-of-order; reject code 102 corresponds to a timeoutfrom no response from the network; reject code 38 corresponds to anetwork failure; reject code 36 corresponds to a regular PDP contextdeactivation; reject code 39 corresponds to a reactivation request; andreject code 35 corresponds to the NSAPI already being used. On the otherhand, reject codes that are deemed critical are 27, 29, 30, 32, 33, and25. Reject code 27 corresponds to a missing or unknown APN; reject code29 corresponds to a user authentication failure; reject code 30corresponds to the activation being rejected by the GGSN; reject code 32corresponds to the service option being unsupported; reject code 33corresponds to the service option not being subscribed to; and rejectcode 25 corresponds to an LLC or SNDCP failure.

In step 704, the mobile station checks whether the PDP attempt counteris greater than or equal to five (5). Note that connector U1 leads tostep 704 as well. If the PDP attempt counter is not greater than orequal to five, then operation proceeds through a connector X1. If thePDP attempt counter is greater than or equal to five, the mobile stationtests whether the reject code has a value of “102” (step 705). If thereject code has a value of “102”, then the mobile station sends a detachrequest to the network (step 707) and proceeds through a connector O. Ifthe reject code does not have a value of “102” at step 705, then themobile station checks whether the current PLMN is the HPLMN (step 706).Step 706 is also performed if the mobile station identifies that thereject code is indeed a critical error from step 702. If “YES” at step706, then operation proceeds to step 708. In step 708, the mobilestation displays “Data Connection Temporarily Failed” if the error isnon-critical or “Data Connection Refused on Network—Please Contact YourService Provider” if the error is critical (step 708). If “NO” at step706, the mobile station scans to identify available networks (step 710).The mobile station then identifies whether there are any data-capable(e.g. GPRS-capable) PLMNs allowable and not having an unsuccessful PDPcontext (step 712). If there is a data-capable PLMN available, thenoperation proceeds through connector Z. If there is no data-capable PLMNavailable, then the mobile station displays “Data Connection Refused” ifthe error is non-critical or “Data Connection Refused—Please ContactYour Service Provider” if the error is critical (step 714).

Next, the mobile station checks whether the HPLMN timer is greater than6 minutes (step 720). If the HPLMN timer is greater than 6 minutes, themobile station starts an internal timer t1 for PLMN search (step 718).If the HPLMN timer is not greater than 6 minutes from step 720, themobile station waits for the HPLMN timer to timeout (step 722). Notethat connector W1 leads to step 722 as well. When a timeout occurs, themobile station identifies whether the HPLMN or a data-capable (e.g. GPRScapable) PLMN has been found (step 724). If the HPLMN or data-capablePLMN is found, then operation proceeds through a connector Z. If noHPLMN or data-capable PLMN is found, then the mobile station starts theHPLMN timer or internal timer t1 (step 726).

Preferably, an indication is made in memory of the mobile station ofwhether the wireless network currently makes the voice and dataconnectivity available to the mobile station. The indication for thewireless network may be indicative of “currently available dataconnectivity” if the request for data connectivity is accepted by thewireless network, or indicative of “currently unavailable dataconnectivity” if the reject code comprising the critical error isreceived or if the one or more requests for data connectivity throughthe wireless network are reattempted without success. Similar resultsmay be achieved through use of a list of currently unavailable dataconnectivity networks stored in memory. Such a list includes thewireless network if the reject code comprising the critical error isreceived or if the one or more requests for data connectivity throughthe wireless network are reattempted without success; however the listfails to include the wireless network if the request for dataconnectivity is accepted by it.

FIGS. 8, 9, and 10 form a flowchart which describes a specific method ofmanual network selection provided by a mobile station for an end user.This method also includes a more time-efficient selection of adata-capable network according to the present application, so as toovercome the deficiencies of conventional techniques. A computer programproduct of the present application includes a storage medium andcomputer instructions stored in the storage medium, where the computerinstructions are executable by one or more processors of a mobilestation for performing the method described. The mobile station of thepresent application includes one or more processors and a wirelesstransceiver coupled to the one or more processors, where the one or moreprocessors are operative to perform the method described.

Beginning at a connector A of FIG. 8, where the mobile station getspowered on or recovers from an out-of-coverage condition, a scanningoperation identifies available networks within the mobile station'scoverage area. From the scan list, the mobile station identifies whetheror not there is a Registered PLMN (RPLMN) (step 802). An RPLMN is onlyacknowledged as an RPLMN if it had a data connection (e.g. GPRSconnection); otherwise the RPLMN is not acknowledged as an RPLMN. Ifthere is an RPLMN in step 802, then the mobile station identifieswhether there is a Home PLMN and whether that HPLMN is not the same asthe RPLMN (step 804). If “YES” at step 804, the mobile station displays“Select HPLMN” (step 806) in this case where the RPLMN is available andthe HPLMN is available and allowable. If “NO” at step 804, the mobilestation selects the RPLMN (step 808) and attempts registration (“GSMattach”) with it (step 810). If the end user selects “YES” in step 806for selection of the HPLMN, then flow proceeds through a connector F tostep 810. If the end user selects “NO” in step 806, then flow proceedsto step 808.

If the GSM attach is accepted at step 810, the selected PLMN isindicated in a visual display of the mobile station (step 812). Step 812is also performed through a connector G as well. Next, the mobilestation identifies whether the PLMN is GSM-only (i.e. no data service)(step 850). If “NO” at step 850, then operation leads to step 814 to bedescribed later. If “YES” at step 850, then the mobile station remainsregistered and operates on this PLMN (state 852). Note that a connectorG2 leads to state 852. In state 852, the mobile station may receive auser manual selection of a network and thereafter proceed through aconnector C. Also in state 852, if the mobile station identifies thatthe current PLMN is GSM-only and any GPRS PLMN becomes available,operation proceeds to step 854 where the mobile station displays “SelectGPRS Network?”. If the end user selects “YES” for this option, thenoperation proceeds through connector G1; otherwise operation proceedsthrough connector G2. Further in state 852, the mobile station mayexperience an out-of-coverage condition with the PLMN and thereafterproceed through connector C1.

If the GSM attach was rejected in step 810, the mobile station receivesa reject code from the network. This reject code is tested and, if thereject code has a value of 2, 3, or 6 (step 855), then the flowcontinues to step 857. If the reject code has a specific value of 2 asidentified in step 857, then flow continues through a connector B2. Ifthe reject code does not have a specific value of “2” in step 857, thenthe SIM is designated as invalid until power off or SIM card removal(step 859). If the reject code does not have a value of 2, 3, or 6 asidentified in step 855, then the mobile station displays “EmergencyService Only” (step 856) and continues to step 821. Note that aconnector H1 leads to step 856 as well. Next, the mobile stationidentifies whether any PLMNs are available (step 821). If no PLMNs areavailable at step 821, the mobile station waits for any PLMNs to appear(step 858) and proceeds through connector H when one does. If one ormore PLMNs are available at step 821, the mobile station proceeds tostep 828 to be described later.

If in step 850, the mobile station identifies that the PLMN is notGSM-only (i.e. it may offer data service), then the mobile stationattempts a GPRS attach request with the selected network (step 814).Note that a connector B2 leads to step 814 as well. If successful atstep 814, the mobile station attempts a PDP context request with theselected network (step 816). If successful at step 816, the mobilestation remains registered and connected through this PLMN (state 818).Note that a connector B3 leads to state 818 as well.

In step 814, the mobile station may receive a reject code from thenetwork in response to the GPRS attach request and thereafter proceedthrough a connector B (FIG. 9). On the other hand, in step 814 there maybe a T3310 timer timeout where operation proceeds through a connector B′(FIG. 9). In step 816, the mobile station may receive a reject code fromthe network in response to the PDP context request and thereafterproceed through a connector X (FIG. 10). Also in step 816, there may bea T3380 timer timeout where operation proceeds through a connector X2.Note also that a connector X3 leads to step 816 as well. In state 818,the mobile station may receive a user manual selection of a network andthereafter proceed through a connector C. Also in state 818, the mobilestation may experience a Routing Area Update (RAU) rejection andthereafter proceed through a connector B (FIG. 9). Further in state 818,the mobile station may experience a RAU T3330 timeout and thereafterproceed through a connector B′ (FIG. 9). Further in state 818, themobile station may receive a PDP deactivation by the network andthereafter proceed through connector C2. Yet even further in state 818,the mobile station may experience an out-of-coverage condition with thePLMN and thereafter proceed to step 820. Step 820 is also performed ifthere is no RPLMN identified in step 802.

In step 820, the mobile station identifies whether there is any PLMNavailable. If there is no PLMN available at step 820, then the mobilestation displays “No Service” (step 826). The mobile station will thenwait for any PLMNs to appear (step 862). If the previously selected PLMNbecomes available in step 862, then operation proceeds through aconnector F; otherwise if any other PLMN becomes available, operationproceeds through a connector H. If there is any PLMN available in step820, then the mobile station then displays “Select Network” for the userto choose whether to manually select a network (step 828). Note that aconnector H leads to step 828 as well. If the user selects “YES” at step828, the mobile station displays all available PLMNS in order and givesthe user the option to select one of the PLMNs (step 830). Note that aconnector C leads to step 830 as well. Once the user selects a networkin step 830, the mobile station attempts to register with the selectedPLMN. The mobile station then identifies whether the selected PLMN is aForbidden PLMN (FPLMN), or whether there is a GPRS attach rejection, orwhether there is a PDP context rejection (step 834). If “YES” at step834, then operation proceeds to step 838. If in step 838 the PLMN is theFPLMN, then the mobile station displays “Emergency Service Only. SelectSAVE or CANCEL” (step 838). If the PLMN had a GPRS attach rejection orPDP context rejection, then the mobile station displays “Voice ServiceOnly. Select SAVE or CANCEL” (step 838). After step 838, if the end userselects CANCEL then operation proceeds back to step 828. If “NO” at step834, then the mobile station attempts registration (“GSM attach”) withthe PLMN (step 860). Note that a connector G1 also leads to step 860. Ifthe GSM attach is accepted at step 860, then operation proceeds througha connector G. If the GSM attach is rejected at step 860, then operationproceeds through a connector B4. If the end user selects “NO” in step828, then the mobile station displays “Emergency Service Only” and waitsfor the previously selected PLMN to become available again (step 832).The mobile station will try the previously selected PLMN or wait for apreviously selected PLMN to become available, where operation proceedsthrough a connector F.

Reference will now be made to FIG. 9, which continues with the manualnetwork selection and particularly describes the handling of rejectcodes from networks in response to GPRS attach requests from a mobilestation. Connector B is from step 814 of FIG. 8, where the network sendsa reject code to the mobile station in response to a GPRS attachrequest. A reject code is an indication that the network has rejectedthe request for data connectivity for some reason. If the reject codehas a value of 3, 6, or 8 as identified in step 901, then the SIM isdesignated as invalid until power off or SIM card removal (step 903). Ifthe reject code does not have a value of 3, 6, or 8 in step 901, thenflow proceeds to step 902. If the reject code has a value of 7, 11, 12,13, or 14 as identified in step 902, the rejection is deemed criticaland operation proceeds to step 914 where the mobile station willgenerally prompt for manual reselection of a network. If the reject codehas any other value (i.e. not 7, 11, 12, 13, or 14) as identified instep 902, the rejection is deemed non-critical and operation proceeds tostep 904 where the mobile station will generally reattempt with thenetwork. Note that a critical error is deemed one in which a permanentproblem or fault exists with the network or the end user's servicesubscription; a non-critical error is not critical but rather is one inwhich there is a problem or fault with the network or servicesubscription that may be passing or temporary. A reject code having avalue of 3 corresponds to an illegal mobile station; a value of 6corresponds to an illegal mobile equipment; and a value of 8 correspondsto GPRS services and non-GPRS services not being allowed. A reject codehaving a value of 7 corresponds to GPRS services not allowed; a value of11 corresponds to PLMN not allowed; a value of 12 corresponds tolocation area not allowed; a value of 13 corresponds to roaming notallowed in the current location area; and a value of 14 corresponds toGPRS services not allowed by the current PLMN.

In step 904, the mobile station checks an attach/RAU counter to see ifits value is greater than or equal to five (5). Note that a connector B′leads to step 904 as well. If the attach/RAU counter is not greater thanor equal to five, operation proceeds through a connector B2 (if attachreject/no network response) or a connector B3 (if RAU reject/no networkresponse) (FIG. 8). If the attach/RAU counter is greater than or equalto five, then the mobile station immediately displays “Data ServiceRefused on this Network” (step 906). Next, the mobile station proceedsto check whether a timer T3302 is set to a value that is greater than apredetermined internal timer value t2 (step 908). The internal timervalue t2 is typically set to between 5-30 minutes, and preferably togreater than 12 minutes (e.g. between 13 and 30 minutes). Alternatively,the internal timer value is set to between 5-10 minutes, preferablyabout 6 minutes. If timer T3302 is greater than the internal timer valuet2 at step 908, the mobile station starts a timer based on the internaltimer value t2 (step 912). If timer T3302 is greater than the internaltimer value at step 908, the mobile station starts a timer based on thetimer T3302 value (step 910). Upon timeout of the timer from steps 910and steps 912, operation proceeds to connector B2 (if attach reject/nonetwork response) or connector B3 (if RAU reject/no network response).After steps 910 and 912, the mobile station displays “Select Network?”for the user to choose whether to manually select a network (step 916).If the user selects “YES” at step 916, operation proceeds throughconnector C. If the user selects “NO” at step 916, the mobile stationdisplays “Data Service Refused on this Network” (step 918). At step 914from earlier step 902, the mobile station displays “Data Service Refusedon this Network” and prompts for end user selection of a network. Afterstep 914, operation proceeds to step 916, described previously above.

Reference will now be made to FIG. 10, which continues with the manualnetwork selection and particularly describes the handling of rejectcodes from networks in response to PDP context requests from a mobilestation. Connector C2 is from step 818 of FIG. 8, where the networksends a PDP deactivation to the mobile station. Connector X is from step816 of FIG. 8, where the network sends a reject code to the mobilestation in response to a PDP context request. If the reject code isdeemed non-critical (step 1002), then operation proceeds to step 1012where the mobile station will generally reattempt with the network. Notethat a connector X2 leads to step 1012 as well. If the reject code isdeemed critical at step 1002, then operation proceeds to step 1004 wherethe mobile station will generally prompt for manual reselection of adifferent network.

In the present embodiment, reject codes that are deemed non-critical are26, 31, 34, 102, 38, 36, 39, and 35. Reject code 26 corresponds toinsufficient resources; reject code 31 corresponds to an unspecifiedactivation rejection; reject code 34 corresponds to the service optionbeing temporarily out-of-order; reject code 102 corresponds to a timeoutfrom no response from the network; reject code 38 corresponds to anetwork failure; reject code 36 corresponds to a regular PDP contextdeactivation; reject code 39 corresponds to a reactivation request; andreject code 35 corresponds to the NSAPI already being used. On the otherhand, reject codes that are deemed critical are 27, 29, 30, 32, 33, and25. Reject code 27 corresponds to a missing or unknown APN; reject code29 corresponds to a user authentication failure; reject code 30corresponds to the activation being rejected by the GGSN; reject code 32corresponds to the service option being unsupported; reject code 33corresponds to the service option not being subscribed to; and rejectcode 25 corresponds to an LLC or SNDCP failure.

In step 1012, the mobile station identifies whether the PDP attemptcounter is greater than or equal to five (5). If the PDP attempt counteris not greater than or equal to five, then operation proceeds toconnector X3. If the PDP attempt counter is greater than or equal tofive, then the mobile station displays “Data Connection Refused on thisNetwork” and prompts the user whether to manually “Select Network” (step1004). If the user chooses “YES” for manually selecting a network atstep 1006, then operation proceeds through connector C. If the userchooses “NO” for manually selecting a network at step 1006, then themobile station displays “Data Connection Refused” (step 1008). Next, ifthe error is non-critical, then the mobile station starts a timer t1;otherwise the mobile station waits for the user to manually select anetwork (step 1010). If the t1 timer expires from step 1010, thenoperation continues through connector X3.

Thus, methods and apparatus for selecting a communication network toprovide one or more communication services for a mobile station havebeen described in detail. In general, a scanning operation is performedby the mobile station to identify one or more communication networkswhich support a voice communication service in a geographic coveragearea. The mobile station identifies which of the identifiedcommunication networks make a data communication service available forthe mobile station. The mobile station then selects and registers with acommunication network that makes the data communication serviceavailable over a network that fails to make the data communicationservice available. Preferably, the method is performed in connectionwith the creation of one or more prioritized network lists. In thiscase, the mobile station assigns a higher priority in the prioritizednetwork list to a communication network that makes the voice and datacommunication service available and allowable to it over a communicationnetwork that does not. In any event, however, the home network ismaintained as the highest priority network for communication with themobile station.

Advantageously, the specific techniques of the present application allowfor a time-efficient selection of data-capable networks for data-capablemobile stations. One illustrative method of the present applicationincludes the steps of causing a request for data connectivity to betransmitted through a first wireless network; reattempting the requestfor data connectivity through the first wireless network one or moretimes if a reject code comprising a non-critical error is received inresponse to the request for data connectivity through the first wirelessnetwork; and attempting to select a second wireless network forcommunications without reattempting the request for data connectivitythrough the first wireless network one or more times if a reject codecomprising a critical error is received in response to the request fordata connectivity through the first wireless network. A critical erroris deemed one in which a permanent problem or fault exists with thenetwork or service subscription associated with the end user.Conventionally, the time period between the first attempt for dataconnectivity through the first wireless network (including allreattempts) and the first attempt for data connectivity through thesecond wireless network may be between about 25 minutes and 4 hours. Asapparent, the inventive techniques reduce this time period to providefor a more time-efficient selection of a data-capable network. Note thata computer program product of the present application includes a storagemedium and computer instructions stored on the storage medium, where thecomputer instructions are executable by a processor for performing themethod described above.

An indication may be made in memory of the mobile station of whether thewireless network currently makes data connectivity available to themobile station. The indication for the wireless network may beindicative of “currently available data connectivity” if the request fordata connectivity is accepted by the wireless network, or indicative of“currently unavailable data connectivity” if the reject code comprisingthe critical error is received or if the one or more requests for dataconnectivity through the wireless network are reattempted withoutsuccess. Similar results may be achieved through use of a list ofcurrently unavailable data connectivity networks stored in memory. Sucha list includes the wireless network if the reject code comprising thecritical error is received or if the one or more requests for dataconnectivity through the wireless network are reattempted withoutsuccess; however the list fails to include the wireless network if therequest for data connectivity is accepted by it. In any event, however,the home network is maintained as the highest priority network forcommunication with the mobile station.

A mobile station of the present application includes one or moreprocessors, memory coupled to the one or more processors, and a wirelesstransceiver coupled to the one or more processors. The one or moreprocessors are operative to cause a request for data connectivity to betransmitted through a first wireless network with use of the wirelesstransceiver; reattempt the request for data connectivity through thefirst wireless network one or more times if a reject code comprising anon-critical error is received in response to the request for dataconnectivity through the first wireless network; and attempt to select asecond wireless network for communications without reattempting therequest for data connectivity through the first wireless network one ormore times if a reject code comprising a critical error is received inresponse to the request for data connectivity through the first wirelessnetwork. A communication system of the present application includes afirst wireless communication network, a second wireless communicationnetwork, and a mobile station operative to select one of the firstwireless communication network and the second wireless communicationnetwork for communications. The mobile station of the communicationsystem includes the components described above.

It will be appreciated that the above description relates to preferredembodiments by way of example only. Many variations thereof will beobvious to knowledgeable in the field to which the invention pertains,and such variations are within the scope of the invention as describedand claimed, whether or not expressly described. For example, althoughthe detailed description has strictly used the term “network” in contextof the inventive methods (which presumes substantial homogeneity insideeach network), the invention also broadly includes selecting betweensub-sections of networks including network subnets and even individualcells. As another example, although embodiments of the invention haveplaced an emphasis on GSM and GSM/GPRS networks, and voice anddata-capable mobile stations, it should be appreciated that theinvention is not limited to such networks, mobile stations, andservices. The invention is applicable to other systems in which mobilestations are enabled for communication services available to differentextents. Finally, although the mobile device oftentimes identifies aplurality of communication networks available within its geographiccoverage area, it may sometimes identify only a single available networkwith which to act upon; this understanding should not in any way limitthe interpretation of the claims.

1. A method for use in selecting a wireless communication network forcommunications with a mobile station, the method comprising: causing arequest for data connectivity to be transmitted through a first wirelessnetwork; reattempting the request for data connectivity through thefirst wireless network at least one time if a reject code comprising anon-critical error is received in response to the request for dataconnectivity through the first wireless network; and attempting toselect a second wireless network for communications without reattemptingthe request for data connectivity through the first wireless network theat least one time if a reject code comprising a critical error isreceived in response to the request for data connectivity through thefirst wireless network.
 2. The method of claim 1, wherein the requestfor data connectivity comprises a General Packet Radio Service (GPRS)attach request.
 3. The method of claim 1, wherein the request for dataconnectivity comprises a Packet Data Protocol (PDP) Context request. 4.The method of claim 1, further comprising: attempting to select thesecond wireless network for communications after the the request fordata connectivity through the first wireless network is reattempted theat least one time without success.
 5. The method of claim 1, furthercomprising: identifying that the reject code is a critical/non-criticalerror by comparing the reject code with each one of a plurality of errorcodes and identifying a match between the reject code and one of theplurality of error codes.
 6. The method of claim 1, wherein the act ofreattempting the request for data connectivity through the firstwireless network comprises reattempting the request up to apredetermined number of times.
 7. The method of claim 1, wherein the actof attempting to select the second wireless network for communicationscomprises repeating the acts of causing and reattempting for the secondwireless network.
 8. The method of claim 1, further comprising:maintaining an indication of whether the first wireless networkcurrently makes a voice and data connectivity available to the mobilestation; wherein the indication for the first wireless network isindicative of currently available data connectivity if the request fordata connectivity is accepted; wherein the indication for the firstwireless network is indicative of currently unavailable dataconnectivity if the reject code comprising the critical error isreceived; and wherein the indication for the first wireless network isindicative of currently unavailable data connectivity after the requestfor data connectivity through the first wireless network is reattemptedthe at least one time without success.
 9. The method of claim 1, furthercomprising: maintaining a list of currently unavailable data servicenetworks for the mobile station; wherein the list includes the firstwireless network if the reject code comprising the critical error isreceived; wherein the list includes the first wireless network if therequest for data connectivity through the first wireless network isreattempted the at least one time without success; and wherein the listfails to include the first wireless network if the request for dataconnectivity is accepted.
 10. A computer program product, comprising: astorage medium; computer instructions stored on the storage medium; thecomputer instructions being executable by a processor for: causing arequest for data connectivity to be transmitted through a first wirelessnetwork; reattempting the request for data connectivity through thefirst wireless network if a reject code comprising a non-critical erroris received in response to the request for data connectivity through thefirst wireless network; and attempting to select a second wirelessnetwork for communications without reattempting the request for dataconnectivity through the first wireless network if a reject codecomprising a critical error is received in response to the request fordata connectivity through the first wireless network.
 11. The computerprogram product of claim 10, wherein the request for data connectivitycomprises a General Packet Radio Service (GPRS) attach request.
 12. Thecomputer program product of claim 10, wherein the request for dataconnectivity comprises a Packet Data Protocol (PDP) Context request. 13.The computer program product of claim 10, wherein the computerinstructions are further executable for: attempting to select the secondwireless network for communications after the request for dataconnectivity through the first wireless network is reattempted withoutsuccess.
 14. The computer program product of claim 10, wherein thecomputer instructions are further executable for: identifying that thereject code is a critical/non-critical error by comparing the rejectcode with each one of a plurality of error codes and identifying a matchbetween the reject code and one of the plurality of error codes.
 15. Thecomputer program product of claim 10, wherein reattempting the requestfor data connectivity through the first wireless network comprisesreattempting the request up to a predetermined number of times.
 16. Thecomputer program product of claim 10, wherein attempting to select thesecond wireless network for communications comprises repeating the actsof causing and reattempting for the second wireless network.
 18. Thecomputer program product of claim 10, wherein the computer instructionsare further executable for: maintaining an indication of whether thefirst wireless network currently makes a voice and data connectivityavailable to the mobile station; wherein the indication for the firstwireless network is indicative of currently available data connectivityif the request for data connectivity is accepted; wherein the indicationfor the first wireless network is indicative of currently unavailabledata connectivity if the reject code comprising the critical error isreceived; and wherein the indication for the first wireless network isindicative of currently unavailable data connectivity after the requestfor data connectivity through the first wireless network is reattemptedwithout success.
 19. The computer program product of claim 10, whereinthe computer instructions are further executable for: maintaining a listof currently unavailable data service networks for the mobile station;wherein the list includes the first wireless network if the reject codecomprising the critical error is received; wherein the list includes thefirst wireless network if the request for data connectivity through thefirst wireless network is reattempted without success; and wherein thelist fails to include the first wireless network if the request for dataconnectivity is accepted.
 20. A mobile station, comprising: one or moreprocessors; memory coupled to the one or more processors; a wirelesstransceiver coupled to the one or more processors; the one or moreprocessors being operative to: cause a request for data connectivity tobe transmitted through a first wireless network with use of the wirelesstransceiver; reattempt the request for data connectivity through thefirst wireless network if a reject code comprising a non-critical erroris received in response to the request for data connectivity through thefirst wireless network; and attempt to select a second wireless networkfor communications without reattempting the request for dataconnectivity through the first wireless network if a reject codecomprising a critical error is received in response to the request fordata connectivity through the first wireless network.
 21. The mobilestation of claim 20, wherein the request for data connectivity comprisesa General Packet Radio Service (GPRS) attach request.
 22. The mobilestation of claim 20, wherein the request for data connectivity comprisesa Packet Data Protocol (PDP) Context request.
 23. The mobile station ofclaim 20, wherein the one or more processors are further operative toattempt to select the second wireless network for communications afterthe request for data connectivity through the first wireless network isreattempted without success.
 24. The mobile station of claim 20, whereinthe one or more processors are further operative to identify that thereject code is a critical/non-critical error by comparing the rejectcode with each one of a plurality of error codes stored in the memoryand identifying a match between the reject code and one of the pluralityof error codes.
 25. The mobile station of claim 20, wherein reattemptingthe request for data connectivity through the first wireless networkcomprises reattempting the request up to a predetermined number oftimes.
 26. The mobile station of claim 20, wherein attempting to selectthe second wireless network for communications comprises repeating theacts of causing and reattempting for the second wireless network. 27.The mobile station of claim 20, wherein the one or more processors arefurther operative to: maintain an indication of whether the firstwireless network currently makes a voice and data connectivity availableto the mobile station; wherein the indication for the first wirelessnetwork is indicative of currently available data connectivity if therequest for data connectivity is accepted; wherein the indication forthe first wireless network is indicative of currently unavailable dataconnectivity if the reject code comprising the critical error isreceived; and wherein the indication for the first wireless network isindicative of currently unavailable data connectivity after the requestfor data connectivity through the first wireless network is reattemptedwithout success.
 28. The mobile station of claim 20, wherein the one ormore processors are further operative to: maintain a list of currentlyunavailable data service networks for the mobile station; wherein thelist includes the first wireless network if the reject code comprisingthe critical error is received; wherein the list includes the firstwireless network if the request for data connectivity through the firstwireless network is reattempted without success; and wherein the listfails to include the first wireless network if the request for dataconnectivity is accepted.
 29. A communication system, comprising; afirst wireless communication network; a second wireless communicationnetwork; a mobile station operative to select one of the first wirelesscommunication network and the second wireless communication network forcommunications; the mobile station including: one or more processors;memory coupled to the one or more processors; a wireless transceivercoupled to the one or more processors; the one or more processors beingoperative to: cause a request for data connectivity to be transmittedthrough the first wireless network with use of the wireless transceiver;cause the first wireless network to be selected for communications basedon identifying that the request for data connectivity through the firstwireless network is accepted; reattempt the request for dataconnectivity through the first wireless network if a reject codecomprising a non-critical error is received in response to the requestfor data connectivity through the first wireless network; and attempt toselect the second wireless network for communications withoutreattempting the request for data connectivity through the firstwireless network if a reject code comprising a critical error isreceived in response to the request for data connectivity through thefirst wireless network.
 30. The communication system of claim 29,wherein the request for data connectivity comprises a General PacketRadio Service (GPRS) attach request.
 31. The communication system ofclaim 29, wherein the request for data connectivity comprises a PacketData Protocol (PDP) Context request.
 32. The communication system ofclaim 29, wherein the one or more processors are further operative toattempt to select the second wireless network for communications afterthe request for data connectivity through the first wireless network isreattempted without success.
 33. The communication system of claim 29,wherein the one or more processors are further operative to cause thefirst wireless network to be selected for communications based onidentifying that the request for data connectivity through the firstwireless network is accepted.
 34. The communication system of claim 29,wherein reattempting the request for data connectivity through the firstwireless network comprises reattempting the request up to apredetermined number of times.
 35. The communication system of claim 29,wherein attempting to select the second wireless network forcommunications comprises repeating the acts of causing and reattemptingfor the second wireless network.
 36. The communication system of claim29, wherein the one or more processors are further operative to:maintain an indication of whether the first wireless network currentlymakes a voice and data connectivity available to the mobile station;wherein the indication for the first wireless network is indicative ofcurrently available data connectivity if the request for dataconnectivity is accepted; wherein the indication for the first wirelessnetwork is indicative of currently unavailable data connectivity if thereject code comprising the critical error is received; and wherein theindication for the first wireless network is indicative of currentlyunavailable data connectivity after the request for data connectivitythrough the first wireless network is reattempted without success. 37.The communication system of claim 29, wherein the one or more processorsare further operative to: maintain a list of currently unavailable dataservice networks for the mobile station; wherein the list includes thefirst wireless network if the reject code comprising the critical erroris received; wherein the list includes the first wireless network if therequest for data connectivity through the first wireless network isreattempted without success; and wherein the list fails to include thefirst wireless network if the request for data connectivity is accepted.